package com.tensquare.base.service;

import com.tensquare.base.pojo.Label;
import entity.PageResult;

import java.util.List;

public interface LabelService {
    /**
     * 1.查询所有的标签
     * @return 返回所有的标签信息
     */
    List<Label> findAll();

    /**
     * 2.查询所有推荐的标签
     * @return 返回所有的推荐标签
     */
    List<Label> findByRecommend();

    /**
     * 3.查询所有有效的标签
     * @return 返回所有有效的标签
     */
    List<Label> findByState();

    /**
     * 4.根据标签id查询标签信息
     * @param labelId 标签id
     * @return 返回对应的标签信息
     */
    Label findOne(String labelId);

    /**
     * 5.添加标签信息
     * @param label 要添加的标签
     */
    void add(Label label);

    /**
     * 6.根据id和标签信息修改标签
     * @param label     修改的标签信息
     */
    void update(Label label);

    /**
     * 7.根据标签id删除标签信息
     * @param labelId 标签信息
     */
    void delete(String labelId);

    /**
     * 8.条件查询
     * @param label 查询条件
     * @return  查询结果
     */
    List<Label> search(Label label);

    /**
     * 9.分页查询
     * @param page  当前页
     * @param size  总页数
     * @param label 查询条件
     * @return  返回的分页查询结果
     */
    PageResult<Label> search(int page, int size, Label label);
}
